package org.microframework.cloud.gateway.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

import lombok.Data;

/**
 * 认证配置类
 * 用于配置认证白名单等参数
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "gateway.auth")
public class AuthConfig {
    
    /**
     * 是否启用认证
     */
    private boolean enabled = true;
    
    /**
     * 认证白名单路径，这些路径不需要认证即可访问
     */
    private List<String> whiteList = new ArrayList<>();
    
    /**
     * 认证黑名单路径，这些路径必须认证才能访问，优先级高于白名单
     */
    private List<String> blackList = new ArrayList<>();
    
    /**
     * 用户信息传递的请求头名称
     */
    private String userTokenHeader = "X-User-Token";
    
    /**
     * 认证令牌前缀
     */
    private String tokenPrefix = "Bearer ";
} 